查看原文
其他

【源头活水】层次风格解耦:人脸多属性篡改终于可控了(CVPR 2021 Oral)

“问渠那得清如许,为有源头活水来”,通过前沿领域知识的学习,从其他研究领域得到启发,对研究问题的本质有更清晰的认识和理解,是自我提高的不竭源泉。为此,我们特别精选论文阅读笔记,开辟“源头活水”专栏,帮助你广泛而深入的阅读科研文献,敬请关注。

作者:知乎—李新阳

地址:https://www.zhihu.com/people/li-xin-yang-85-51

论文地址:https://arxiv.org/abs/2103.01456

开源代码:https://github.com/imlixinyang/HiSD
相信大家还记得CycleGAN刚出来时带给大家的震撼,从CycleGAN提出后,图像翻译面临的最大的两个问题就是扩展性(同时处理多种篡改)和多样性(生成不同的结果),然而,一直没有一个很好的方法,可以兼顾扩展性和多样性的同时,又能使得这种篡改满足预期。例如,对于人脸属性篡改任务,我们想要给人脸加上刘海,可是却改变了发色或是背景,再例如,我们想要给人脸加上眼睛,结果竟然性别和年龄也改变了。下面是最新模型StarGANv2的结果:
HiSD就是为了解决这些问题,并且还同时支持从噪声中生成或者从图像中提取这样的风格。先放效果图吧:
可以看到多属性之间完全没有干扰,而且多样性也可以非常好地对应上某个语义。而实现这一些的核心就是建立了如下一个层次结构:
利用了原始0-1标签之间存在的互斥性(对同一个语义的不同描述)和独立性(不同语义),HiSD将原始Label转换为了Tag和Attribute,并想要无监督地解耦出对应上某个Attribute的风格,比如图中不同眼镜的款式,就可以达到可控多样性的目标了。
进一步,我们将各个模型也对应上了这个层次结构,然后每一次只训练一个对应某个Tag的转换器将图像在两个Attribute之间进行转换,然而这样就可以解耦出单个Tag的风格了吗?
想法是美好的,现实是残酷的。除了标签本身,我们并没有其他的监督信息,例如分割图等,甚至数据集中本身对于各个属性就是不解耦的(戴眼镜的有83%的男性,而不戴的只有36%)。
为了抑制区域上的过度篡改,我们引入了已经被广泛使用的无监督掩膜思想,唯一不同的是我们的掩膜是作用在特征图上的,而不是图像本身上,也因此加入了Channel-wise的注意力。
然而性别和年龄在极度不平衡的数据集的对抗过程中,仍然被不可避免的篡改了。
但是性别年龄也是我们可以利用的标签!能不能让对抗过程中的鉴别器可以看到这些标签本身就是不平衡的,从而来让翻译前后保持这些不平衡标签不变呢,比如这样:
也就是让鉴别器在鉴别金色刘海的同时,要让原始图片的性别和年龄也保持不变。
还真可以,这一个结构叫做Tag无关条件鉴别器,我个人觉得应该可以用来缓解很多对抗过程中数据集本身不平衡的问题,这几步结构上的改动带来的影响可以用一些对比结果表示:
跟SOTA模型比较,我们有着最好的真实性、解耦性和用户最喜欢的多样性。同时还有着对于两种来源的风格编码最为平衡的性能。
论文和代码都已经放出来了。妈妈式代码,详细注释,手把手教学,因为自己也相当幸运作为入门者的时候,看的是多模态的模型MUNIT(https://github.com/NVlabs/MUNIT)的代码,非常好理解和进一步修改。
论文中还有很多很多细节,例如训练过程中只有单Tag的篡改,为什么在测试过程可以进行多Tag的篡改。解耦性是如何定量比较的。又如何同时训练噪声引导的风格和参考图像引导的风格的。可能需要感兴趣的同学自行去看啦,也欢迎来和我讨论~

本文目的在于学术交流,并不代表本公众号赞同其观点或对其内容真实性负责,版权归原作者所有,如有侵权请告知删除。


“源头活水”历史文章


更多源头活水专栏文章,

请点击文章底部“阅读原文”查看



分享、在看,给个三连击呗!

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存